Landing on planetary bodies has always been a dangerous task for both piloted and robotic vehicles. Despite careful site selection, a single tall rock not adequately resolved in surface imagery, or a small steep slope not captured by topography data, has the ability to end the mission prematurely. Robotic missions are largely at the mercy of chance during landing, since they currently have no ability to sense obstacles and adjust their landing location. This requires that robotic missions land in relatively flat areas, with few large rocks visible in the available imagery. However, such sites are usually not the most scientifically interesting locations. Even with astronauts piloting the lander, lighting conditions can make it difficult to discern slopes and rock heights, which places limitations on the landing time and location. This was demonstrated by the Apollo 15 mission, which landed on the edge of a small crater, damaging the engine bell of the lunar excursion module.
To improve landing safety, the landing site must be sensed remotely, and lander scale hazards and slopes must be detected. To avoid excessive fuel consumption, the hazard and slope detection must operate quickly (e.g., in less than 60 seconds), including both sensing and safe site determination.
Hazard detection methods that use two-dimensional visible images have been developed. These methods rely on shadows or texture to determine surface hazards. Using such methods for rock detection appears to be acceptable, but places limits on the landing time to attain favorable lighting conditions and detectable shadows. However, the use of a single two-dimensional visible image makes local slopes difficult to predict, since they can occur on surfaces without shadows, and since visible texture may not differ from level areas. The use of two images from a stereo camera or two images from the same camera with known separation can be used to determine slope. However, techniques for determining slope from multiple two-dimensional images have been unacceptably slow and/or computationally expensive. As an alternative, a structure from a motion solution can produce a dense set of data of surface altitudes, but is computationally very expensive. The use of homography slope estimation can be fast enough for flight use, but produces a low density data set suitable only for local slope determination.
In any approach that utilizes visible light cameras, the solution is dependent on local lighting conditions. This is an undesirable trait for most missions, and unacceptable for many missions. To make hazard detection solutions independent of local lighting conditions, active sensors must be used. Examples of such active sensors include structured light camera and light detection and ranging (LIDAR) systems. These systems produce range data to a solid surface that can be used to determine local hazards and slopes. However, the techniques that have been developed for hazard detection using such three-dimensional data systems have been relatively slow and computationally expensive.
One example of a technique for identifying hazards from terrain data is the plane fitting method developed at the Jet Propulsion Laboratory (JPL) for Mars landing, and studied further as part of the autonomous landing and hazard avoidance technology (ALHAT) program for moon landing. The method starts with a three-dimensional terrain model and fits planes to regions with dimensions similar to the required landing footprint including navigation error. Rather than fitting a plane to every possible landing center line of the input data grid, the planes are fit in a grid pattern with no overlap. It is not necessary to fit a plane at every grid point because the slope of the underlying surface usually various slowly (although crater rims violate this) and it is computationally expensive to fit a robust plane. The need for near real time hazard detection requires that a plane is not fit at every grid point to run on existing flight processors. The plane fitting method used is least median squares, which determines outliers (such as rocks) and excludes them from the data used for plane fitting. When the rocks are excluded from the plane fit, the underlying surface is found and can be subtracted from the image terrain to find bumps. Slopes are found directly from the slope of the underlying plane, and slopes are interpolated across the grid. Both slopes and bumps are compared to threshold values and the results of this comparison are combined to produce a map of good and bad landing sites. To smooth this map and find the best locations, image dilation or erosion is performed to shrink the good landing regions. This helps eliminate very small regions of safe landing sites and makes it easier to focus on the best and safest landing sites.